\hypertarget{module-source2sink-sink_8c}{
\section{module-\/source2sink-\/sink.c File Reference}
\label{module-source2sink-sink_8c}\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}}
}
{\ttfamily \#include $<$pulse/gccmacro.h$>$}\par
{\ttfamily \#include $<$pulse/xmalloc.h$>$}\par
{\ttfamily \#include $<$pulse/i18n.h$>$}\par
{\ttfamily \#include $<$pulsecore/namereg.h$>$}\par
{\ttfamily \#include $<$pulsecore/sink.h$>$}\par
{\ttfamily \#include $<$pulsecore/module.h$>$}\par
{\ttfamily \#include $<$pulsecore/core-\/util.h$>$}\par
{\ttfamily \#include $<$pulsecore/modargs.h$>$}\par
{\ttfamily \#include $<$pulsecore/log.h$>$}\par
{\ttfamily \#include $<$pulsecore/rtpoll.h$>$}\par
{\ttfamily \#include $<$pulsecore/sample-\/util.h$>$}\par
{\ttfamily \#include $<$pulsecore/ltdl-\/helper.h$>$}\par
{\ttfamily \#include \char`\"{}module-\/source2sink-\/sink-\/symdef.h\char`\"{}}\par
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structuserdata}{userdata}
\end{DoxyCompactItemize}
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{module-source2sink-sink_8c_af987bd6f3f52d1759fa94794f4d56fb9}{MEMBLOCKQ\_\-MAXLENGTH}~(16$\ast$1024$\ast$1024)
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{module-source2sink-sink_8c_a34feba19174409859fedfe700a89f1b3}{PA\_\-MODULE\_\-AUTHOR} (\char`\"{}Pierre-\/Louis Bossart\char`\"{})
\item 
\hyperlink{module-source2sink-sink_8c_a82890e30a18bab7b26aa84b5f3446173}{PA\_\-MODULE\_\-DESCRIPTION} (\_\-(\char`\"{}Virtual sink\char`\"{}))
\item 
\hyperlink{module-source2sink-sink_8c_a50a4b2c264115ffcf8b1665853a05763}{PA\_\-MODULE\_\-VERSION} (PACKAGE\_\-VERSION)
\item 
\hyperlink{module-source2sink-sink_8c_a506dd872767e8cdd7dea67a5b20a3e8b}{PA\_\-MODULE\_\-LOAD\_\-ONCE} (FALSE)
\item 
\hyperlink{module-source2sink-sink_8c_ac78530c1d81036e17d4a018c33479391}{PA\_\-MODULE\_\-USAGE} (\_\-(\char`\"{}sink\_\-name=$<$name for the sink$>$ \char`\"{}\char`\"{}sink\_\-properties=$<$properties for the sink$>$ \char`\"{}\char`\"{}master=$<$name of sink to filter$>$ \char`\"{}\char`\"{}format=$<$sample format$>$ \char`\"{}\char`\"{}rate=$<$sample rate$>$ \char`\"{}\char`\"{}channels=$<$number of channels$>$ \char`\"{}\char`\"{}channel\_\-map=$<$channel map$>$ \char`\"{}\char`\"{}use\_\-volume\_\-sharing=$<$yes or no$>$ \char`\"{}\char`\"{}force\_\-flat\_\-volume=$<$yes or no$>$ \char`\"{}))
\item 
static int \hyperlink{module-source2sink-sink_8c_a103487dc62102eda94fecd6bd2841d9e}{sink\_\-process\_\-msg\_\-cb} (pa\_\-msgobject $\ast$o, int code, void $\ast$data, int64\_\-t offset, pa\_\-memchunk $\ast$chunk)
\item 
static int \hyperlink{module-source2sink-sink_8c_a1c8a3f9c0627b97a1f2b4f0d7ac77940}{sink\_\-set\_\-state\_\-cb} (pa\_\-sink $\ast$s, pa\_\-sink\_\-state\_\-t state)
\item 
static void \hyperlink{module-source2sink-sink_8c_a1878c211d9dd6d3626b3c980ee131c1f}{sink\_\-request\_\-rewind\_\-cb} (pa\_\-sink $\ast$s)
\item 
static void \hyperlink{module-source2sink-sink_8c_ac81e505bec8f573cd0aa4287c59d6804}{sink\_\-update\_\-requested\_\-latency\_\-cb} (pa\_\-sink $\ast$s)
\item 
static void \hyperlink{module-source2sink-sink_8c_a1b3675d565a97e427a25fe080e51d18d}{sink\_\-set\_\-volume\_\-cb} (pa\_\-sink $\ast$s)
\item 
static void \hyperlink{module-source2sink-sink_8c_a5e006d376ae6d20f256c8ca46b202a8b}{sink\_\-set\_\-mute\_\-cb} (pa\_\-sink $\ast$s)
\item 
static int \hyperlink{module-source2sink-sink_8c_a7f532f820e9261d3f509765571839ed6}{sink\_\-input\_\-pop\_\-cb} (pa\_\-sink\_\-input $\ast$i, size\_\-t nbytes, pa\_\-memchunk $\ast$chunk)
\item 
static void \hyperlink{module-source2sink-sink_8c_a48e30474a3941bca9c94c1c1e9b19859}{sink\_\-input\_\-process\_\-rewind\_\-cb} (pa\_\-sink\_\-input $\ast$i, size\_\-t nbytes)
\item 
static void \hyperlink{module-source2sink-sink_8c_aef519fb6f22943147fb9d047ec3fd7ab}{sink\_\-input\_\-update\_\-max\_\-rewind\_\-cb} (pa\_\-sink\_\-input $\ast$i, size\_\-t nbytes)
\item 
static void \hyperlink{module-source2sink-sink_8c_a759e2f47ffa3a87dc2eb42f3b5cc68cb}{sink\_\-input\_\-update\_\-max\_\-request\_\-cb} (pa\_\-sink\_\-input $\ast$i, size\_\-t nbytes)
\item 
static void \hyperlink{module-source2sink-sink_8c_a70595304851535eaafb67b7e4b9e3047}{sink\_\-input\_\-update\_\-sink\_\-latency\_\-range\_\-cb} (pa\_\-sink\_\-input $\ast$i)
\item 
static void \hyperlink{module-source2sink-sink_8c_a26abf21116bbca141d83cdeb7f376b6e}{sink\_\-input\_\-update\_\-sink\_\-fixed\_\-latency\_\-cb} (pa\_\-sink\_\-input $\ast$i)
\item 
static void \hyperlink{module-source2sink-sink_8c_ac671a43bd9f5842a62446a8c57f9257c}{sink\_\-input\_\-detach\_\-cb} (pa\_\-sink\_\-input $\ast$i)
\item 
static void \hyperlink{module-source2sink-sink_8c_ae3c0366c3d9b1f077679715f08a2ee90}{sink\_\-input\_\-attach\_\-cb} (pa\_\-sink\_\-input $\ast$i)
\item 
static void \hyperlink{module-source2sink-sink_8c_a0de6a14a8bca2c67ea5ad13c8732cc1b}{sink\_\-input\_\-kill\_\-cb} (pa\_\-sink\_\-input $\ast$i)
\item 
static void \hyperlink{module-source2sink-sink_8c_ad9bc5c4ba8bc8693022f365fcbad72f1}{sink\_\-input\_\-state\_\-change\_\-cb} (pa\_\-sink\_\-input $\ast$i, pa\_\-sink\_\-input\_\-state\_\-t state)
\item 
static pa\_\-bool\_\-t \hyperlink{module-source2sink-sink_8c_a3f888def57bd8a1c43a2083ee7f24836}{sink\_\-input\_\-may\_\-move\_\-to\_\-cb} (pa\_\-sink\_\-input $\ast$i, pa\_\-sink $\ast$dest)
\item 
static void \hyperlink{module-source2sink-sink_8c_a5fc9519ba071d0bd0a23ceb8b95eba5b}{sink\_\-input\_\-moving\_\-cb} (pa\_\-sink\_\-input $\ast$i, pa\_\-sink $\ast$dest)
\item 
static void \hyperlink{module-source2sink-sink_8c_a8cd9b3dc963876d726cd99481a92acc0}{sink\_\-input\_\-volume\_\-changed\_\-cb} (pa\_\-sink\_\-input $\ast$i)
\item 
static void \hyperlink{module-source2sink-sink_8c_aa6ef2338c61903860e1d9acca3f545c5}{sink\_\-input\_\-mute\_\-changed\_\-cb} (pa\_\-sink\_\-input $\ast$i)
\item 
int \hyperlink{module-source2sink-sink_8c_a96cc887d1d5d632b8ff75f012a82fa38}{pa\_\-\_\-init} (pa\_\-module $\ast$m)
\item 
int \hyperlink{module-source2sink-sink_8c_a4e1ab8d22b34da50d8df42809ffa17b6}{pa\_\-\_\-get\_\-n\_\-used} (pa\_\-module $\ast$m)
\item 
void \hyperlink{module-source2sink-sink_8c_a60b8e8e14b924194997c63e43241890c}{pa\_\-\_\-done} (pa\_\-module $\ast$m)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const char $\ast$const \hyperlink{module-source2sink-sink_8c_a775f35c5ae2e095cac9b838ce383f16e}{valid\_\-modargs} \mbox{[}$\,$\mbox{]}
\end{DoxyCompactItemize}


\subsection{Define Documentation}
\hypertarget{module-source2sink-sink_8c_af987bd6f3f52d1759fa94794f4d56fb9}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!MEMBLOCKQ\_\-MAXLENGTH@{MEMBLOCKQ\_\-MAXLENGTH}}
\index{MEMBLOCKQ\_\-MAXLENGTH@{MEMBLOCKQ\_\-MAXLENGTH}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{MEMBLOCKQ\_\-MAXLENGTH}]{\setlength{\rightskip}{0pt plus 5cm}\#define MEMBLOCKQ\_\-MAXLENGTH~(16$\ast$1024$\ast$1024)}}
\label{module-source2sink-sink_8c_af987bd6f3f52d1759fa94794f4d56fb9}


\subsection{Function Documentation}
\hypertarget{module-source2sink-sink_8c_a60b8e8e14b924194997c63e43241890c}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!pa\_\-\_\-done@{pa\_\-\_\-done}}
\index{pa\_\-\_\-done@{pa\_\-\_\-done}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{pa\_\-\_\-done}]{\setlength{\rightskip}{0pt plus 5cm}void pa\_\-\_\-done (
\begin{DoxyParamCaption}
\item[{pa\_\-module $\ast$}]{ m}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_a60b8e8e14b924194997c63e43241890c}
\hypertarget{module-source2sink-sink_8c_a4e1ab8d22b34da50d8df42809ffa17b6}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!pa\_\-\_\-get\_\-n\_\-used@{pa\_\-\_\-get\_\-n\_\-used}}
\index{pa\_\-\_\-get\_\-n\_\-used@{pa\_\-\_\-get\_\-n\_\-used}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{pa\_\-\_\-get\_\-n\_\-used}]{\setlength{\rightskip}{0pt plus 5cm}int pa\_\-\_\-get\_\-n\_\-used (
\begin{DoxyParamCaption}
\item[{pa\_\-module $\ast$}]{ m}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_a4e1ab8d22b34da50d8df42809ffa17b6}
\hypertarget{module-source2sink-sink_8c_a96cc887d1d5d632b8ff75f012a82fa38}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!pa\_\-\_\-init@{pa\_\-\_\-init}}
\index{pa\_\-\_\-init@{pa\_\-\_\-init}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{pa\_\-\_\-init}]{\setlength{\rightskip}{0pt plus 5cm}int pa\_\-\_\-init (
\begin{DoxyParamCaption}
\item[{pa\_\-module $\ast$}]{ m}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_a96cc887d1d5d632b8ff75f012a82fa38}
\hypertarget{module-source2sink-sink_8c_a34feba19174409859fedfe700a89f1b3}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!PA\_\-MODULE\_\-AUTHOR@{PA\_\-MODULE\_\-AUTHOR}}
\index{PA\_\-MODULE\_\-AUTHOR@{PA\_\-MODULE\_\-AUTHOR}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{PA\_\-MODULE\_\-AUTHOR}]{\setlength{\rightskip}{0pt plus 5cm}PA\_\-MODULE\_\-AUTHOR (
\begin{DoxyParamCaption}
\item[{\char`\"{}Pierre-\/Louis Bossart\char`\"{}}]{}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_a34feba19174409859fedfe700a89f1b3}
\hypertarget{module-source2sink-sink_8c_a82890e30a18bab7b26aa84b5f3446173}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!PA\_\-MODULE\_\-DESCRIPTION@{PA\_\-MODULE\_\-DESCRIPTION}}
\index{PA\_\-MODULE\_\-DESCRIPTION@{PA\_\-MODULE\_\-DESCRIPTION}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{PA\_\-MODULE\_\-DESCRIPTION}]{\setlength{\rightskip}{0pt plus 5cm}PA\_\-MODULE\_\-DESCRIPTION (
\begin{DoxyParamCaption}
\item[{\_\-(\char`\"{}Virtual sink\char`\"{})}]{}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_a82890e30a18bab7b26aa84b5f3446173}
\hypertarget{module-source2sink-sink_8c_a506dd872767e8cdd7dea67a5b20a3e8b}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!PA\_\-MODULE\_\-LOAD\_\-ONCE@{PA\_\-MODULE\_\-LOAD\_\-ONCE}}
\index{PA\_\-MODULE\_\-LOAD\_\-ONCE@{PA\_\-MODULE\_\-LOAD\_\-ONCE}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{PA\_\-MODULE\_\-LOAD\_\-ONCE}]{\setlength{\rightskip}{0pt plus 5cm}PA\_\-MODULE\_\-LOAD\_\-ONCE (
\begin{DoxyParamCaption}
\item[{FALSE}]{}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_a506dd872767e8cdd7dea67a5b20a3e8b}
\hypertarget{module-source2sink-sink_8c_ac78530c1d81036e17d4a018c33479391}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!PA\_\-MODULE\_\-USAGE@{PA\_\-MODULE\_\-USAGE}}
\index{PA\_\-MODULE\_\-USAGE@{PA\_\-MODULE\_\-USAGE}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{PA\_\-MODULE\_\-USAGE}]{\setlength{\rightskip}{0pt plus 5cm}PA\_\-MODULE\_\-USAGE (
\begin{DoxyParamCaption}
\item[{\_\-(\char`\"{}sink\_\-name=$<$name for the sink$>$ \char`\"{}\char`\"{}sink\_\-properties=$<$properties for the sink$>$ \char`\"{}\char`\"{}master=$<$name of sink to filter$>$ \char`\"{}\char`\"{}format=$<$sample format$>$ \char`\"{}\char`\"{}rate=$<$sample rate$>$ \char`\"{}\char`\"{}channels=$<$number of channels$>$ \char`\"{}\char`\"{}channel\_\-map=$<$channel map$>$ \char`\"{}\char`\"{}use\_\-volume\_\-sharing=$<$yes or no$>$ \char`\"{}\char`\"{}force\_\-flat\_\-volume=$<$yes or no$>$ \char`\"{})}]{}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_ac78530c1d81036e17d4a018c33479391}
\hypertarget{module-source2sink-sink_8c_a50a4b2c264115ffcf8b1665853a05763}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!PA\_\-MODULE\_\-VERSION@{PA\_\-MODULE\_\-VERSION}}
\index{PA\_\-MODULE\_\-VERSION@{PA\_\-MODULE\_\-VERSION}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{PA\_\-MODULE\_\-VERSION}]{\setlength{\rightskip}{0pt plus 5cm}PA\_\-MODULE\_\-VERSION (
\begin{DoxyParamCaption}
\item[{PACKAGE\_\-VERSION}]{}
\end{DoxyParamCaption}
)}}
\label{module-source2sink-sink_8c_a50a4b2c264115ffcf8b1665853a05763}
\hypertarget{module-source2sink-sink_8c_ae3c0366c3d9b1f077679715f08a2ee90}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-attach\_\-cb@{sink\_\-input\_\-attach\_\-cb}}
\index{sink\_\-input\_\-attach\_\-cb@{sink\_\-input\_\-attach\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-attach\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-attach\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_ae3c0366c3d9b1f077679715f08a2ee90}
\hypertarget{module-source2sink-sink_8c_ac671a43bd9f5842a62446a8c57f9257c}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-detach\_\-cb@{sink\_\-input\_\-detach\_\-cb}}
\index{sink\_\-input\_\-detach\_\-cb@{sink\_\-input\_\-detach\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-detach\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-detach\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_ac671a43bd9f5842a62446a8c57f9257c}
\hypertarget{module-source2sink-sink_8c_a0de6a14a8bca2c67ea5ad13c8732cc1b}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-kill\_\-cb@{sink\_\-input\_\-kill\_\-cb}}
\index{sink\_\-input\_\-kill\_\-cb@{sink\_\-input\_\-kill\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-kill\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-kill\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a0de6a14a8bca2c67ea5ad13c8732cc1b}
\hypertarget{module-source2sink-sink_8c_a3f888def57bd8a1c43a2083ee7f24836}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-may\_\-move\_\-to\_\-cb@{sink\_\-input\_\-may\_\-move\_\-to\_\-cb}}
\index{sink\_\-input\_\-may\_\-move\_\-to\_\-cb@{sink\_\-input\_\-may\_\-move\_\-to\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-may\_\-move\_\-to\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static pa\_\-bool\_\-t sink\_\-input\_\-may\_\-move\_\-to\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i, }
\item[{pa\_\-sink $\ast$}]{ dest}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a3f888def57bd8a1c43a2083ee7f24836}
\hypertarget{module-source2sink-sink_8c_a5fc9519ba071d0bd0a23ceb8b95eba5b}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-moving\_\-cb@{sink\_\-input\_\-moving\_\-cb}}
\index{sink\_\-input\_\-moving\_\-cb@{sink\_\-input\_\-moving\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-moving\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-moving\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i, }
\item[{pa\_\-sink $\ast$}]{ dest}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a5fc9519ba071d0bd0a23ceb8b95eba5b}
\hypertarget{module-source2sink-sink_8c_aa6ef2338c61903860e1d9acca3f545c5}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-mute\_\-changed\_\-cb@{sink\_\-input\_\-mute\_\-changed\_\-cb}}
\index{sink\_\-input\_\-mute\_\-changed\_\-cb@{sink\_\-input\_\-mute\_\-changed\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-mute\_\-changed\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-mute\_\-changed\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_aa6ef2338c61903860e1d9acca3f545c5}
\hypertarget{module-source2sink-sink_8c_a7f532f820e9261d3f509765571839ed6}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-pop\_\-cb@{sink\_\-input\_\-pop\_\-cb}}
\index{sink\_\-input\_\-pop\_\-cb@{sink\_\-input\_\-pop\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-pop\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static int sink\_\-input\_\-pop\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i, }
\item[{size\_\-t}]{ nbytes, }
\item[{pa\_\-memchunk $\ast$}]{ chunk}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a7f532f820e9261d3f509765571839ed6}
\hypertarget{module-source2sink-sink_8c_a48e30474a3941bca9c94c1c1e9b19859}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-process\_\-rewind\_\-cb@{sink\_\-input\_\-process\_\-rewind\_\-cb}}
\index{sink\_\-input\_\-process\_\-rewind\_\-cb@{sink\_\-input\_\-process\_\-rewind\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-process\_\-rewind\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-process\_\-rewind\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i, }
\item[{size\_\-t}]{ nbytes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a48e30474a3941bca9c94c1c1e9b19859}
\hypertarget{module-source2sink-sink_8c_ad9bc5c4ba8bc8693022f365fcbad72f1}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-state\_\-change\_\-cb@{sink\_\-input\_\-state\_\-change\_\-cb}}
\index{sink\_\-input\_\-state\_\-change\_\-cb@{sink\_\-input\_\-state\_\-change\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-state\_\-change\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-state\_\-change\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i, }
\item[{pa\_\-sink\_\-input\_\-state\_\-t}]{ state}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_ad9bc5c4ba8bc8693022f365fcbad72f1}
\hypertarget{module-source2sink-sink_8c_a759e2f47ffa3a87dc2eb42f3b5cc68cb}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-update\_\-max\_\-request\_\-cb@{sink\_\-input\_\-update\_\-max\_\-request\_\-cb}}
\index{sink\_\-input\_\-update\_\-max\_\-request\_\-cb@{sink\_\-input\_\-update\_\-max\_\-request\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-update\_\-max\_\-request\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-update\_\-max\_\-request\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i, }
\item[{size\_\-t}]{ nbytes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a759e2f47ffa3a87dc2eb42f3b5cc68cb}
\hypertarget{module-source2sink-sink_8c_aef519fb6f22943147fb9d047ec3fd7ab}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-update\_\-max\_\-rewind\_\-cb@{sink\_\-input\_\-update\_\-max\_\-rewind\_\-cb}}
\index{sink\_\-input\_\-update\_\-max\_\-rewind\_\-cb@{sink\_\-input\_\-update\_\-max\_\-rewind\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-update\_\-max\_\-rewind\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-update\_\-max\_\-rewind\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i, }
\item[{size\_\-t}]{ nbytes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_aef519fb6f22943147fb9d047ec3fd7ab}
\hypertarget{module-source2sink-sink_8c_a26abf21116bbca141d83cdeb7f376b6e}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-update\_\-sink\_\-fixed\_\-latency\_\-cb@{sink\_\-input\_\-update\_\-sink\_\-fixed\_\-latency\_\-cb}}
\index{sink\_\-input\_\-update\_\-sink\_\-fixed\_\-latency\_\-cb@{sink\_\-input\_\-update\_\-sink\_\-fixed\_\-latency\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-update\_\-sink\_\-fixed\_\-latency\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-update\_\-sink\_\-fixed\_\-latency\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a26abf21116bbca141d83cdeb7f376b6e}
\hypertarget{module-source2sink-sink_8c_a70595304851535eaafb67b7e4b9e3047}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-update\_\-sink\_\-latency\_\-range\_\-cb@{sink\_\-input\_\-update\_\-sink\_\-latency\_\-range\_\-cb}}
\index{sink\_\-input\_\-update\_\-sink\_\-latency\_\-range\_\-cb@{sink\_\-input\_\-update\_\-sink\_\-latency\_\-range\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-update\_\-sink\_\-latency\_\-range\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-update\_\-sink\_\-latency\_\-range\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a70595304851535eaafb67b7e4b9e3047}
\hypertarget{module-source2sink-sink_8c_a8cd9b3dc963876d726cd99481a92acc0}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-input\_\-volume\_\-changed\_\-cb@{sink\_\-input\_\-volume\_\-changed\_\-cb}}
\index{sink\_\-input\_\-volume\_\-changed\_\-cb@{sink\_\-input\_\-volume\_\-changed\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-input\_\-volume\_\-changed\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-input\_\-volume\_\-changed\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink\_\-input $\ast$}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a8cd9b3dc963876d726cd99481a92acc0}
\hypertarget{module-source2sink-sink_8c_a103487dc62102eda94fecd6bd2841d9e}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-process\_\-msg\_\-cb@{sink\_\-process\_\-msg\_\-cb}}
\index{sink\_\-process\_\-msg\_\-cb@{sink\_\-process\_\-msg\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-process\_\-msg\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static int sink\_\-process\_\-msg\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-msgobject $\ast$}]{ o, }
\item[{int}]{ code, }
\item[{void $\ast$}]{ data, }
\item[{int64\_\-t}]{ offset, }
\item[{pa\_\-memchunk $\ast$}]{ chunk}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a103487dc62102eda94fecd6bd2841d9e}
\hypertarget{module-source2sink-sink_8c_a1878c211d9dd6d3626b3c980ee131c1f}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-request\_\-rewind\_\-cb@{sink\_\-request\_\-rewind\_\-cb}}
\index{sink\_\-request\_\-rewind\_\-cb@{sink\_\-request\_\-rewind\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-request\_\-rewind\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-request\_\-rewind\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink $\ast$}]{ s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a1878c211d9dd6d3626b3c980ee131c1f}
\hypertarget{module-source2sink-sink_8c_a5e006d376ae6d20f256c8ca46b202a8b}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-set\_\-mute\_\-cb@{sink\_\-set\_\-mute\_\-cb}}
\index{sink\_\-set\_\-mute\_\-cb@{sink\_\-set\_\-mute\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-set\_\-mute\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-set\_\-mute\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink $\ast$}]{ s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a5e006d376ae6d20f256c8ca46b202a8b}
\hypertarget{module-source2sink-sink_8c_a1c8a3f9c0627b97a1f2b4f0d7ac77940}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-set\_\-state\_\-cb@{sink\_\-set\_\-state\_\-cb}}
\index{sink\_\-set\_\-state\_\-cb@{sink\_\-set\_\-state\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-set\_\-state\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static int sink\_\-set\_\-state\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink $\ast$}]{ s, }
\item[{pa\_\-sink\_\-state\_\-t}]{ state}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a1c8a3f9c0627b97a1f2b4f0d7ac77940}
\hypertarget{module-source2sink-sink_8c_a1b3675d565a97e427a25fe080e51d18d}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-set\_\-volume\_\-cb@{sink\_\-set\_\-volume\_\-cb}}
\index{sink\_\-set\_\-volume\_\-cb@{sink\_\-set\_\-volume\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-set\_\-volume\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-set\_\-volume\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink $\ast$}]{ s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a1b3675d565a97e427a25fe080e51d18d}
\hypertarget{module-source2sink-sink_8c_ac81e505bec8f573cd0aa4287c59d6804}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!sink\_\-update\_\-requested\_\-latency\_\-cb@{sink\_\-update\_\-requested\_\-latency\_\-cb}}
\index{sink\_\-update\_\-requested\_\-latency\_\-cb@{sink\_\-update\_\-requested\_\-latency\_\-cb}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{sink\_\-update\_\-requested\_\-latency\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}static void sink\_\-update\_\-requested\_\-latency\_\-cb (
\begin{DoxyParamCaption}
\item[{pa\_\-sink $\ast$}]{ s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_ac81e505bec8f573cd0aa4287c59d6804}


\subsection{Variable Documentation}
\hypertarget{module-source2sink-sink_8c_a775f35c5ae2e095cac9b838ce383f16e}{
\index{module-\/source2sink-\/sink.c@{module-\/source2sink-\/sink.c}!valid\_\-modargs@{valid\_\-modargs}}
\index{valid\_\-modargs@{valid\_\-modargs}!module-source2sink-sink.c@{module-\/source2sink-\/sink.c}}
\subsubsection[{valid\_\-modargs}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ const {\bf valid\_\-modargs}\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{module-source2sink-sink_8c_a775f35c5ae2e095cac9b838ce383f16e}
{\bfseries Initial value:}
\begin{DoxyCode}
 {
    "sink_name",
    "sink_properties",
    "master",
    "format",
    "rate",
    "channels",
    "channel_map",
    "use_volume_sharing",
    "force_flat_volume",
    NULL
}
\end{DoxyCode}
